package cn.chencq.moudle.sys.dao;

import java.util.List;
import java.util.Map;

public interface BaseDao<T> {

	/**
	 * 插入数据
	 * 
	 * @param t
	 * @return
	 */
	int save(T t);

	/**
	 * 批量插入
	 * 
	 * @param list
	 * @return
	 */
	int batchSave(List<T> list);

	/**
	 * 按主键更新
	 * 
	 * @param t
	 * @return
	 */
	int updateByPrimaryKey(T t);

	/**
	 * 批量更新
	 * 
	 * @param list
	 * @return
	 */
	int batchUpdate(List<T> list);

	/***
	 * 按主键删除
	 * 
	 * @param id
	 * @return
	 */
	int deleteByPrimaryKey(Object id);

	/**
	 * 按主键批量删除
	 * 
	 * @param list
	 * @return
	 */
	int batchDelete(List<Object> list);

	/**
	 * 按主键查询
	 * 
	 * @param id
	 * @return
	 */
	T selectByPrimaryKey(Object id);

	/**
	 * 多条件查询
	 * 
	 * @param params
	 * @return
	 */
	List<T> queryList(Map<String, Object> params);
}
